我们[[001.什么是生成式 AI#ChatGPT 也就是个函式|之前]]讲过语言模型就是一个拥有很多参数的函式,这个函数是一个类神经网络,语言模型最常见的就是类神经网络的一种:Transformer

当然模型也不是一开始就使用 Transformer,是有一个演进过程:

graph TB
A[N-gram] --> B[Feed-forward Network]
B --> C["Recurrent Neural Network (RNN)"]
C --> D[Transformer]

注意:本课程会对 Transformer 的说明进行大量简化

Transformer 概述

![[Pasted image 20250803114708.png]]

1. 把文字变成 Token

语言模型是以 Token 作为单位来对文字进行处理

![[Pasted image 20250803132838.png]]

ChatGPT 的 tokenizer

![[Pasted image 20250803133151.png]]

2. 理解每个 Token

语义

![[Pasted image 20250803133706.png]]

![[Pasted image 20250803134033.png]]

位置

除了语义还需要考虑位置的信息,需要知道每个 Token 在句子里的哪个位置。因为同一个 Token 在不同的位置可能会有不同的语义。需要把位置信息加到 Embedding 向量中

![[Pasted image 20250803134622.png]]

3. Attention:考虑上下文

![[Pasted image 20250803135434.png]]

Attention Is All You Need 发现不需要 Recurrent Neural Network (RNN),只需要 Attention 就够了

Attention 是如何运作的

输入一些向量,经过 Attention 后输出相同长度的向量(将上下文的信息加进向量中)